/* comment.js模块化 */
const wObj_req = (function () {
  /**
   * 数据请求公共方法
   */
  function wRequest(params) {
    var config = {
      // 请求配置
      baseURL: params.baseURL ? params.baseURL : wObj_req.baseURL, // 请求的 baseURL（域名地址）
      url: params.url ? params.url : '', // 接口地址
      data: params.data ? params.data : {}, // 请求的参数
      method: params.method ? params.method : 'POST', // HTTP 请求方法
      header: params.header ? params.header : {
        'content-type': 'application/json' // 默认值
      }, // 设置请求的 header，header 中不能设置 Referer。content-type 默认为 application/json

      timeout: params.timeout ? params.timeout : 10000, // 超时时间，单位为毫秒
      success: params.success ? params.success : function () {
        console.log('No successful callback function！');
      }, // 接口调用成功的回调函数
      fail: params.fail ? params.fail : function () {
        console.log('No failed callback function！');
      }, // 接口调用失败的回调函数
      complete: params.complete ? params.complete : function () {
        // console.log('No completed callback function！');
      }, //接口调用结束的回调函数（调用成功、失败都会执行）
      // 其他配置
      debug: params.debug ? params.debug : false, // 是否开启打印调试
      title: params.title ? params.title : params.url, // 调试显示标题
    }
    // console.log(config);
    wx.request({
      url: config.baseURL + config.url,
      data: config.data,
      method: config.method,
      header: config.header,
      timeout: config.timeout,
      success: function (res) {
        if (config.debug) {
          console.log('接口:', config.title, '请求结果:', res);
        }
        if (res.statusCode == 200) {
          config.success(res.data);
        } else {
          console.log(res);
        }
      },
      fail: function (err) {
        if (config.debug) {
          console.log('接口:', config.title, '错误结果:', err);
        }
        config.fail(err);
      },
      complete: function (res) {
        config.complete(res);
      }
    })
  };
  return {
    // 属性
    baseURL: 'http://XXXXX.XXXXX.XXXXX/', // 请求的 baseURL（域名地址）
    w_XXXXX: function (obj) {
      // 接口请求使用案例
      obj.url ? obj.url : obj.url = 'XXXXX'; // 存放接口
      wRequest(obj);
    },
  }
})();
module.exports = wObj_req;